A typical enterprise may have a plurality of different data sources (providers) that populate data into a configuration management database (CMDB). The data may be stored into different data partitions (e.g., datasets) and later reconciled into one or more target partitions (e.g., pre-production dataset, production dataset, etc.) Generally, the reconciliation process may include identifying instances of resource objects, and then merging those instances to create reconciled resource objects. The reconciliation process may be based on various algorithms including but not limited to identification rules and/or merge precedence rules, for example. As a result of such merge precedence rules, it may be possible that attribute content from a specific data source may not be presented in the target dataset.
Currently, the CMDB may allow the retrieval of data from any data partition, but in order to combine data from more than one partition, two or more separate queries are executed and then transformation/merge operations may be applied on the results. However, the conventional storage/retrieval operations of the CMDB system makes the CMDB system more difficult to use, and as a result, people create workarounds by adding new attributes to resource objects in order to ensure that provider-specific data from the provider sources are included into the target partition. Therefore, the conventional approach is not entirely scalable and may not guarantee that the provider-specific data from a particular data provider will remain intact in the target dataset.